package com.newlink.building.userinfo.mvp.contract

import com.newlink.building.common_base.base.IModel
import com.newlink.building.common_base.base.IPresenter
import com.newlink.building.common_base.base.IView
import com.newlink.building.common_base.model.bean.*
import io.reactivex.Observable


interface Module_UserInfo_AuthCardAddContract {

    interface Model : IModel {
        fun getCardList(request: LoadFaceListDataRequest): Observable<HttpResult<FaceListData>>
        fun removeCard(request: DeleteFaceDataRequest): Observable<HttpResult<StatusData>>
    }

    interface View : IView {
        fun getCardListSuccess(total: Int, list: MutableList<AuthResponseBody>?)
        fun getCardListFailed()
        fun onAddCardDataSuccess()
        fun onDeleteCardDataSuccess()
        fun onAddCardDataFailed()
        fun onDeleteCardDataFailed()
    }

    interface Presenter : IPresenter<View> {
        fun getCardList(token: String, uId: String)
        fun removeCard(accessToken: String, s: String, item: AuthResponseBody)
    }
}